home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / NextDeveloper / Headers / mach / sparc / vm_types.h < prev   
C/C++ Source or Header  |  1995-02-14  |  3KB  |  120 lines

  1. /* 
  2.  * Mach Operating System
  3.  * Copyright (c) 1992,1991,1990,1989,1988 Carnegie Mellon University
  4.  * All Rights Reserved.
  5.  * 
  6.  * Permission to use, copy, modify and distribute this software and its
  7.  * documentation is hereby granted, provided that both the copyright
  8.  * notice and this permission notice appear in all copies of the
  9.  * software, derivative works or modified versions, and any portions
  10.  * thereof, and that both notices appear in supporting documentation.
  11.  * 
  12.  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
  13.  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
  14.  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
  15.  * 
  16.  * Carnegie Mellon requests users of this software to return to
  17.  * 
  18.  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
  19.  *  School of Computer Science
  20.  *  Carnegie Mellon University
  21.  *  Pittsburgh PA 15213-3890
  22.  * 
  23.  * any improvements or extensions that they make and grant Carnegie Mellon
  24.  * the rights to redistribute these changes.
  25.  */
  26. /*
  27.  * HISTORY
  28.  * $Log:    vm_types.h,v $
  29.  * Revision 2.5  93/01/14  17:42:21  danner
  30.  *     Cleanup.
  31.  *     [92/06/10            pds]
  32.  *     New (more) fundamental types.
  33.  *     Standardized conditional that controls multiple inclusion of
  34.  *     this file.  Added MACH_MSG_TYPE_INTEGER_T.
  35.  *     [92/06/03            af]
  36.  * 
  37.  * Revision 2.4  91/05/14  16:53:00  mrt
  38.  *     Correcting copyright
  39.  * 
  40.  * Revision 2.3  91/02/05  17:32:34  mrt
  41.  *     Changed to new Mach copyright
  42.  *     [91/02/01  17:10:49  mrt]
  43.  * 
  44.  * Revision 2.2  90/05/03  15:48:32  dbg
  45.  *     First checkin.
  46.  * 
  47.  * Revision 1.3  89/03/09  20:20:12  rpd
  48.  *     More cleanup.
  49.  * 
  50.  * Revision 1.2  89/02/26  13:01:20  gm0w
  51.  *     Changes for cleanup.
  52.  * 
  53.  * 31-Dec-88  Robert Baron (rvb) at Carnegie-Mellon University
  54.  *    Derived from MACH2.0 vax release.
  55.  *
  56.  * 23-Apr-87  Michael Young (mwyoung) at Carnegie-Mellon University
  57.  *    Changed things to "unsigned int" to appease the user community :-).
  58.  *
  59.  */
  60.  
  61. /*
  62.  *    File:    vm_types.h
  63.  *    Author:    Avadis Tevanian, Jr.
  64.  *    Date: 1985
  65.  *
  66.  *    Header file for VM data types.  sparc version.
  67.  */
  68.  
  69. #ifndef    _MACHINE_VM_TYPES_H_
  70. #define _MACHINE_VM_TYPES_H_    1
  71.  
  72. #ifdef    ASSEMBLER
  73. #else    ASSEMBLER
  74.  
  75. /*
  76.  * A natural_t is the type for the native
  77.  * integer type, e.g. 32 or 64 or.. whatever
  78.  * register size the machine has.  Unsigned, it is
  79.  * used for entities that might be either
  80.  * unsigned integers or pointers, and for
  81.  * type-casting between the two.
  82.  * For instance, the IPC system represents
  83.  * a port in user space as an integer and
  84.  * in kernel space as a pointer.
  85.  */
  86. typedef unsigned int    natural_t;
  87.  
  88. /*
  89.  * An integer_t is the signed counterpart
  90.  * of the natural_t type. Both types are
  91.  * only supposed to be used to define
  92.  * other types in a machine-independent
  93.  * way.
  94.  */
  95. typedef int        integer_t;
  96.  
  97. /*
  98.  * A vm_offset_t is a type-neutral pointer,
  99.  * e.g. an offset into a virtual memory space.
  100.  */
  101. typedef    natural_t    vm_offset_t;
  102.  
  103. /*
  104.  * A vm_size_t is the proper type for e.g.
  105.  * expressing the difference between two
  106.  * vm_offset_t entities.
  107.  */
  108. typedef    natural_t    vm_size_t;
  109.  
  110. #endif    /* ASSEMBLER */
  111.  
  112. /*
  113.  * If composing messages by hand (please dont)
  114.  */
  115.  
  116. #define    MACH_MSG_TYPE_INTEGER_T    MACH_MSG_TYPE_INTEGER_32
  117.  
  118. #endif    /* _MACHINE_VM_TYPES_H_ */
  119.  
  120.